/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vetAdmin.swing;

import java.awt.Color;
import java.awt.event.KeyEvent;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.JDesktopPane;
import javax.swing.JOptionPane;
import javax.swing.event.ListDataEvent;
import javax.swing.event.ListDataListener;
import vetAdmin.dao.implementation.ClienteDAOJDBC;
import vetAdmin.dao.implementation.CombosClienteDAOJDBC;
import vetAdmin.dao.implementation.PacienteDAOJDBC;
import vetAdmin.model.Cliente;
import vetAdmin.model.Paciente;
import vetAdmin.util.*;

/**
 *
 * @author gtaulamet
 */
public class ClienteFrameN extends javax.swing.JInternalFrame {

    /**
     * Creates new form ClienteFrameN
     */
    
    public static DefaultListModel listaClientes=new DefaultListModel();
    public static DefaultListModel listaPacientes=new DefaultListModel();
    public static boolean cerroCliente=true;
    private static int contCliente=0;
    private static int contPaciente=0;
    private boolean editar=false;
    private boolean editarPaciente=false;
    private int id_cliente;
    private int id_paciente;
    private ComboBoxModel localidades;
    private ComboBoxModel provincias;   
    private ComboBoxModel especies;
    private ComboBoxModel razas;
    private ComboBoxModel sexos;
    
    public ClienteFrameN() throws SQLException, Exception {
        localidades= new LocalidadesModel();        
        provincias= new ProvinciasModel();
        especies= new EspeciesModel();
        //razas= new RazasModel();
        sexos= new SexosModel();
        
        initComponents();
        cerroCliente=true;
        cargarClientes();
        cargarCombosCliente();
        
 /*
        if (lClientes.getModel().getSize() !=0){

            lClientes.setSelectedIndex(0);
            
            int index= lClientes.getSelectedIndex();
            Cliente c=(Cliente)lista.getElementAt(index);
            bEditarCliente.setEnabled(true);

            cargarCliente(c);

        } */
    }
    
    
    private void cargarCombosCliente() throws SQLException, Exception{
        
        //String[] aux= CombosClienteDAOJDBC.getLocalidades(AdministradorDeConexiones.getConnection());
        cBoxLocalidad.setModel(localidades);
        cBoxProvincia.setModel(provincias);
        cBoxEspecie.setModel(especies);
       // cBoxRaza.setModel(razas);
        cBoxSexo.setModel(sexos);
        
        //cBoxLocalidad.setModel((ComboBoxModel)CombosClienteDAOJDBC.getLocalidades(AdministradorDeConexiones.getConnection()));
        
    }
    
    
    private void limpiarCamposClientes(){
        tFieldApellidoNombre.setText("");
        tFieldCP.setText("");
        tFieldClienteFechaAlta.setText("");
        tFieldClienteFechaUltima.setText("");
        tFieldCodigoCel.setText("");
        tFieldCodigoTel.setText("");
        tFieldDireccion.setText("");
        tFieldEmail.setText("");
        tFieldCelular.setText("");
        tFieldTelefono.setText("");        
    }
    
    private void habilitarCamposClientes(boolean b){
        //tFieldApellidoNombre.setEnabled(b);
        tFieldApellidoNombre.setEditable(b);
        tFieldCP.setEditable(b);
        tFieldClienteFechaAlta.setEditable(b);
        tFieldClienteFechaUltima.setEditable(b);
        tFieldCodigoCel.setEditable(b);
        tFieldCodigoTel.setEditable(b);
        tFieldDireccion.setEditable(b);
        tFieldEmail.setEditable(b);
        tFieldCelular.setEditable(b);
        tFieldTelefono.setEditable(b);
        cBoxLocalidad.setEnabled(b);
        cBoxProvincia.setEnabled(b);
        bEditarCliente.setEnabled(!b);
        bGuardarCliente.setEnabled(b);        
    }

    private void habilitarCamposPacientes(boolean b){
        tFieldIDPaciente.setEnabled(b);
        tFieldEdad.setEditable(b);
        tFieldNombre.setEditable(b);
        tFieldFechaNac.setEditable(b);
        tFieldFechaAlta.setEditable(b);
        tFieldPacienteFechaUlt.setEditable(b);
        tFieldMicro.setEditable(b);
        tFieldPelaje.setEditable(b);
        cBoxEspecie.setEnabled(b);
        cBoxRaza.setEnabled(b);
        cBoxSexo.setEnabled(b);
        bModificarPaciente.setEnabled(!b);
        bGuardarPaciente.setEnabled(b);
    }

    
    private void cargarCliente(Cliente c){
        tFieldApellidoNombre.setText(c.getNombre().toUpperCase());
        tFieldCP.setText(c.getCp());        
        tFieldClienteFechaAlta.setText(c.getFechaAlta());        
        tFieldClienteFechaUltima.setText(c.getFechaUltimaVisita());        
        tFieldCodigoCel.setText(c.getCodArea1());        
        tFieldCodigoTel.setText(c.getCodArea2());        
        tFieldDireccion.setText(c.getDireccion().toUpperCase());
        tFieldEmail.setText(c.getEmail());        
        tFieldCelular.setText(c.getCelular());        
        tFieldTelefono.setText(c.getTelefono());  
        tFieldClienteFechaAlta.setText(c.getFechaAlta());        
        tFieldClienteFechaUltima.setText(c.getFechaUltimaVisita());  
        cBoxProvincia.setSelectedIndex(c.getProvincia());
        
        LocalidadesModel aux= (LocalidadesModel) localidades;
        int indice=aux.getIndiceModelItem(String.valueOf(c.getLocalidad()));
        cBoxLocalidad.setSelectedIndex(indice);
        

    }
    

    private void cargarClientes() throws SQLException, Exception{
        
     /*   Cliente c1= new Cliente(0, "Juan Garcia", "calle 51", "123456", "Platanos", "Buenos Aires", "1885", "011", "011", "1551097723", "gustavo.taulamet@gmail.com", null, null);
        Cliente c2= new Cliente(1, "Pedro Gomez", "calle 50", "123456789", "Platanos", "Buenos Aires", "1885", "011", "011", "1551097723", "gustavo.taulamet@gmail.com", null, null);
        
        lista.addElement(c1);
        lista.addElement(c2);
    */
        listaClientes=ClienteDAOJDBC.getClientes(AdministradorDeConexiones.getConnection());
        lClientes.setModel(listaClientes);
        
    }

    private void cargarPacientes(int idCliente) throws Exception{

        listaPacientes=PacienteDAOJDBC.getPacientes(AdministradorDeConexiones.getConnection(), idCliente);
        lPacientes.setModel(listaPacientes);
    }


    private void cargarPaciente(Paciente p){
        tFieldIDPaciente.setText(String.valueOf(p.getId()));
        tFieldEdad.setText(String.valueOf(p.getEdad()));
        tFieldNombre.setText(p.getNombre());
        tFieldFechaNac.setText(String.valueOf(p.getFechaNacimiento()));
        tFieldFechaAlta.setText(String.valueOf(p.getFechaAlta()));
        tFieldPacienteFechaUlt.setText(String.valueOf(p.getFechaUltimaVisita()));
        tFieldMicro.setText(p.getMicrochip());
        tFieldPelaje.setText(p.getPelaje());
        cBoxEspecie.setSelectedIndex(p.getEspecie());
        
        /** CARGA LAS RAZAS DEPENDIENDO LA ESPECIE **/
        
        RazasModel aux=(RazasModel)razas;
        int indice=aux.getIndiceModelItem(String.valueOf(p.getRaza()));
        cBoxRaza.setSelectedIndex(indice);
        
        /********************************************/
        
        cBoxSexo.setSelectedIndex(p.getSexo());
    }


    private void limpiarCamposPacientes(){
        tFieldIDPaciente.setText("");
        tFieldEdad.setText("");
        tFieldNombre.setText("");
        tFieldFechaNac.setText("");
        tFieldFechaAlta.setText("");
        tFieldPacienteFechaUlt.setText("");
        tFieldMicro.setText("");
        tFieldPelaje.setText("");
        cBoxEspecie.setSelectedIndex(0);
        cBoxRaza.setSelectedIndex(0);
        cBoxSexo.setSelectedIndex(0);
    }
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        lPaneClientesPacientes = new javax.swing.JLayeredPane();
        bNuevoCliente = new javax.swing.JButton();
        lPaneClientes = new javax.swing.JLayeredPane();
        tFieldBuscarCliente = new javax.swing.JTextField();
        bBuscarCliente = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        lClientes = new javax.swing.JList();
        lPaneInfoCliente = new javax.swing.JLayeredPane();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        tFieldIDCliente = new javax.swing.JTextField();
        tFieldApellidoNombre = new javax.swing.JTextField();
        tFieldCP = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        cBoxLocalidad = new javax.swing.JComboBox();
        jLabel9 = new javax.swing.JLabel();
        cBoxProvincia = new javax.swing.JComboBox();
        tFieldCodigoTel = new javax.swing.JTextField();
        tFieldTelefono = new javax.swing.JTextField();
        jLabel10 = new javax.swing.JLabel();
        tFieldCodigoCel = new javax.swing.JTextField();
        tFieldCelular = new javax.swing.JTextField();
        tFieldEmail = new javax.swing.JTextField();
        tFieldClienteFechaUltima = new javax.swing.JTextField();
        jLabel11 = new javax.swing.JLabel();
        tFieldClienteFechaAlta = new javax.swing.JTextField();
        bGuardarCliente = new javax.swing.JButton();
        bEditarCliente = new javax.swing.JButton();
        tFieldDireccion = new javax.swing.JTextField();
        lPanePacientes = new javax.swing.JLayeredPane();
        jScrollPane2 = new javax.swing.JScrollPane();
        lPacientes = new javax.swing.JList();
        tFieldBuscarPaciente = new javax.swing.JTextField();
        bBuscarPaciente = new javax.swing.JButton();
        lPaneInfoPaciente = new javax.swing.JLayeredPane();
        jLabel12 = new javax.swing.JLabel();
        tFieldIDPaciente = new javax.swing.JTextField();
        jLabel13 = new javax.swing.JLabel();
        jLabel14 = new javax.swing.JLabel();
        jLabel15 = new javax.swing.JLabel();
        tFieldNombre = new javax.swing.JTextField();
        cBoxSexo = new javax.swing.JComboBox();
        jLabel16 = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        jLabel18 = new javax.swing.JLabel();
        cBoxEspecie = new javax.swing.JComboBox();
        jLabel19 = new javax.swing.JLabel();
        tFieldFechaNac = new javax.swing.JTextField();
        cBoxRaza = new javax.swing.JComboBox();
        jLabel20 = new javax.swing.JLabel();
        tFieldPelaje = new javax.swing.JTextField();
        jLabel21 = new javax.swing.JLabel();
        tFieldEdad = new javax.swing.JTextField();
        jLabel22 = new javax.swing.JLabel();
        tFieldMicro = new javax.swing.JTextField();
        tFieldPacienteFechaUlt = new javax.swing.JTextField();
        tFieldFechaAlta = new javax.swing.JTextField();
        bModificarPaciente = new javax.swing.JButton();
        bGuardarPaciente = new javax.swing.JButton();
        bNuevoPaciente = new javax.swing.JButton();
        bAbrirFicha = new javax.swing.JButton();

        setClosable(true);
        setIconifiable(true);
        setTitle("VetAdmin");
        addInternalFrameListener(new javax.swing.event.InternalFrameListener() {
            public void internalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt) {
                formInternalFrameClosed(evt);
            }
            public void internalFrameClosing(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameDeactivated(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameDeiconified(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameIconified(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameOpened(javax.swing.event.InternalFrameEvent evt) {
            }
        });

        bNuevoCliente.setText("NUEVO CLIENTE");
        bNuevoCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bNuevoClienteActionPerformed(evt);
            }
        });
        bNuevoCliente.setBounds(20, 10, 130, 23);
        lPaneClientesPacientes.add(bNuevoCliente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lPaneClientes.setBorder(javax.swing.BorderFactory.createTitledBorder("Clientes"));

        tFieldBuscarCliente.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                tFieldBuscarClienteKeyPressed(evt);
            }
        });
        tFieldBuscarCliente.setBounds(20, 30, 150, 30);
        lPaneClientes.add(tFieldBuscarCliente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        bBuscarCliente.setText("Buscar");
        bBuscarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bBuscarClienteActionPerformed(evt);
            }
        });
        bBuscarCliente.setBounds(180, 30, 70, 23);
        lPaneClientes.add(bBuscarCliente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lClientes.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                lClientesMouseClicked(evt);
            }
        });
        lClientes.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
            public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
                lClientesValueChanged(evt);
            }
        });
        jScrollPane1.setViewportView(lClientes);

        jScrollPane1.setBounds(20, 60, 230, 220);
        lPaneClientes.add(jScrollPane1, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lPaneClientes.setBounds(10, 40, 270, 300);
        lPaneClientesPacientes.add(lPaneClientes, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lPaneInfoCliente.setBorder(javax.swing.BorderFactory.createTitledBorder("Información de Cliente"));

        jLabel1.setText("ID:");
        jLabel1.setBounds(20, 40, 40, 14);
        lPaneInfoCliente.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel2.setText("Apellido y Nombre:");
        jLabel2.setBounds(20, 70, 110, 14);
        lPaneInfoCliente.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel3.setText("Dirección:");
        jLabel3.setBounds(20, 100, 60, 14);
        lPaneInfoCliente.add(jLabel3, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel4.setText("CP:");
        jLabel4.setBounds(20, 130, 60, 14);
        lPaneInfoCliente.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel5.setText("Teléfono:");
        jLabel5.setBounds(20, 160, 60, 14);
        lPaneInfoCliente.add(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel6.setText("Email:");
        jLabel6.setBounds(20, 190, 70, 14);
        lPaneInfoCliente.add(jLabel6, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel7.setText("Fecha de Alta:");
        jLabel7.setBounds(20, 220, 80, 14);
        lPaneInfoCliente.add(jLabel7, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldIDCliente.setEnabled(false);
        tFieldIDCliente.setBounds(130, 30, 60, 30);
        lPaneInfoCliente.add(tFieldIDCliente, javax.swing.JLayeredPane.DEFAULT_LAYER);
        tFieldApellidoNombre.setBounds(130, 60, 480, 30);
        lPaneInfoCliente.add(tFieldApellidoNombre, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldCP.setEditable(false);
        tFieldCP.setBounds(130, 120, 60, 30);
        lPaneInfoCliente.add(tFieldCP, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel8.setText("Localidad:");
        jLabel8.setBounds(410, 130, 60, 14);
        lPaneInfoCliente.add(jLabel8, javax.swing.JLayeredPane.DEFAULT_LAYER);

        cBoxLocalidad.setEnabled(false);
        cBoxLocalidad.setBounds(470, 120, 140, 30);
        lPaneInfoCliente.add(cBoxLocalidad, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel9.setText("Provincia:");
        jLabel9.setBounds(200, 130, 60, 14);
        lPaneInfoCliente.add(jLabel9, javax.swing.JLayeredPane.DEFAULT_LAYER);

        cBoxProvincia.setEnabled(false);
        cBoxProvincia.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cBoxProvinciaItemStateChanged(evt);
            }
        });
        cBoxProvincia.setBounds(260, 120, 130, 30);
        lPaneInfoCliente.add(cBoxProvincia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldCodigoTel.setEditable(false);
        tFieldCodigoTel.setBounds(130, 150, 40, 30);
        lPaneInfoCliente.add(tFieldCodigoTel, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldTelefono.setEditable(false);
        tFieldTelefono.setBounds(170, 150, 150, 30);
        lPaneInfoCliente.add(tFieldTelefono, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel10.setText("Celular:");
        jLabel10.setBounds(350, 160, 50, 14);
        lPaneInfoCliente.add(jLabel10, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldCodigoCel.setEditable(false);
        tFieldCodigoCel.setBounds(400, 150, 40, 30);
        lPaneInfoCliente.add(tFieldCodigoCel, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldCelular.setEditable(false);
        tFieldCelular.setBounds(440, 150, 170, 30);
        lPaneInfoCliente.add(tFieldCelular, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldEmail.setEditable(false);
        tFieldEmail.setBounds(130, 180, 340, 30);
        lPaneInfoCliente.add(tFieldEmail, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldClienteFechaUltima.setEditable(false);
        tFieldClienteFechaUltima.setBounds(400, 210, 110, 30);
        lPaneInfoCliente.add(tFieldClienteFechaUltima, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel11.setText("Fecha de última visita:");
        jLabel11.setBounds(270, 220, 130, 14);
        lPaneInfoCliente.add(jLabel11, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldClienteFechaAlta.setEditable(false);
        tFieldClienteFechaAlta.setBounds(130, 210, 110, 30);
        lPaneInfoCliente.add(tFieldClienteFechaAlta, javax.swing.JLayeredPane.DEFAULT_LAYER);

        bGuardarCliente.setText("GUARDAR");
        bGuardarCliente.setEnabled(false);
        bGuardarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bGuardarClienteActionPerformed(evt);
            }
        });
        bGuardarCliente.setBounds(180, 260, 100, 23);
        lPaneInfoCliente.add(bGuardarCliente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        bEditarCliente.setText("EDITAR");
        bEditarCliente.setEnabled(false);
        bEditarCliente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bEditarClienteActionPerformed(evt);
            }
        });
        bEditarCliente.setBounds(300, 260, 90, 23);
        lPaneInfoCliente.add(bEditarCliente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldDireccion.setEditable(false);
        tFieldDireccion.setBounds(130, 90, 480, 30);
        lPaneInfoCliente.add(tFieldDireccion, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lPaneInfoCliente.setBounds(290, 40, 630, 300);
        lPaneClientesPacientes.add(lPaneInfoCliente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lPanePacientes.setBorder(javax.swing.BorderFactory.createTitledBorder("Pacientes"));

        lPacientes.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                lPacientesMouseClicked(evt);
            }
        });
        lPacientes.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
            public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
                lPacientesValueChanged(evt);
            }
        });
        jScrollPane2.setViewportView(lPacientes);

        jScrollPane2.setBounds(20, 60, 230, 160);
        lPanePacientes.add(jScrollPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldBuscarPaciente.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                tFieldBuscarPacienteKeyPressed(evt);
            }
        });
        tFieldBuscarPaciente.setBounds(20, 30, 150, 30);
        lPanePacientes.add(tFieldBuscarPaciente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        bBuscarPaciente.setText("Buscar");
        bBuscarPaciente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bBuscarPacienteActionPerformed(evt);
            }
        });
        bBuscarPaciente.setBounds(180, 30, 70, 23);
        lPanePacientes.add(bBuscarPaciente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lPanePacientes.setBounds(10, 340, 270, 240);
        lPaneClientesPacientes.add(lPanePacientes, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lPaneInfoPaciente.setBorder(javax.swing.BorderFactory.createTitledBorder("Información de Paciente"));

        jLabel12.setText("ID:");
        jLabel12.setBounds(20, 40, 15, 14);
        lPaneInfoPaciente.add(jLabel12, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldIDPaciente.setEnabled(false);
        tFieldIDPaciente.setBounds(70, 30, 40, 30);
        lPaneInfoPaciente.add(tFieldIDPaciente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel13.setText("Nombre:");
        jLabel13.setBounds(20, 70, 50, 14);
        lPaneInfoPaciente.add(jLabel13, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel14.setText("Sexo:");
        jLabel14.setBounds(20, 100, 50, 14);
        lPaneInfoPaciente.add(jLabel14, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel15.setText("Fecha de Alta:");
        jLabel15.setBounds(20, 130, 80, 14);
        lPaneInfoPaciente.add(jLabel15, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldNombre.setEditable(false);
        tFieldNombre.setBounds(70, 60, 110, 30);
        lPaneInfoPaciente.add(tFieldNombre, javax.swing.JLayeredPane.DEFAULT_LAYER);

        cBoxSexo.setEnabled(false);
        cBoxSexo.setBounds(70, 90, 110, 30);
        lPaneInfoPaciente.add(cBoxSexo, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel16.setText("Especie:");
        jLabel16.setBounds(190, 70, 50, 14);
        lPaneInfoPaciente.add(jLabel16, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel17.setText("Fecha de nacimiento:");
        jLabel17.setBounds(200, 100, 130, 14);
        lPaneInfoPaciente.add(jLabel17, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel18.setText("Fecha de última visita:");
        jLabel18.setBounds(210, 130, 130, 14);
        lPaneInfoPaciente.add(jLabel18, javax.swing.JLayeredPane.DEFAULT_LAYER);

        cBoxEspecie.setEnabled(false);
        cBoxEspecie.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                cBoxEspecieItemStateChanged(evt);
            }
        });
        cBoxEspecie.setBounds(240, 60, 80, 30);
        lPaneInfoPaciente.add(cBoxEspecie, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel19.setText("Raza:");
        jLabel19.setBounds(330, 70, 40, 14);
        lPaneInfoPaciente.add(jLabel19, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldFechaNac.setEditable(false);
        tFieldFechaNac.setBounds(330, 90, 110, 30);
        lPaneInfoPaciente.add(tFieldFechaNac, javax.swing.JLayeredPane.DEFAULT_LAYER);

        cBoxRaza.setEnabled(false);
        cBoxRaza.setBounds(380, 60, 100, 30);
        lPaneInfoPaciente.add(cBoxRaza, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel20.setText("Pelaje:");
        jLabel20.setBounds(500, 70, 40, 14);
        lPaneInfoPaciente.add(jLabel20, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldPelaje.setEditable(false);
        tFieldPelaje.setBounds(540, 60, 70, 30);
        lPaneInfoPaciente.add(tFieldPelaje, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel21.setText("Edad:");
        jLabel21.setBounds(450, 100, 40, 14);
        lPaneInfoPaciente.add(jLabel21, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldEdad.setEditable(false);
        tFieldEdad.setText("0");
        tFieldEdad.setBounds(510, 90, 100, 30);
        lPaneInfoPaciente.add(tFieldEdad, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel22.setText("Microchip:");
        jLabel22.setBounds(450, 130, 60, 14);
        lPaneInfoPaciente.add(jLabel22, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldMicro.setEditable(false);
        tFieldMicro.setText("NO TIENE");
        tFieldMicro.setBounds(510, 120, 100, 30);
        lPaneInfoPaciente.add(tFieldMicro, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldPacienteFechaUlt.setEditable(false);
        tFieldPacienteFechaUlt.setBounds(340, 120, 100, 30);
        lPaneInfoPaciente.add(tFieldPacienteFechaUlt, javax.swing.JLayeredPane.DEFAULT_LAYER);

        tFieldFechaAlta.setEditable(false);
        tFieldFechaAlta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tFieldFechaAltaActionPerformed(evt);
            }
        });
        tFieldFechaAlta.setBounds(100, 120, 90, 30);
        lPaneInfoPaciente.add(tFieldFechaAlta, javax.swing.JLayeredPane.DEFAULT_LAYER);

        bModificarPaciente.setText("MODIFICAR");
        bModificarPaciente.setEnabled(false);
        bModificarPaciente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bModificarPacienteActionPerformed(evt);
            }
        });
        bModificarPaciente.setBounds(360, 20, 110, 23);
        lPaneInfoPaciente.add(bModificarPaciente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        bGuardarPaciente.setText("GUARDAR");
        bGuardarPaciente.setEnabled(false);
        bGuardarPaciente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bGuardarPacienteActionPerformed(evt);
            }
        });
        bGuardarPaciente.setBounds(480, 20, 100, 23);
        lPaneInfoPaciente.add(bGuardarPaciente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        bNuevoPaciente.setText("NUEVO PACIENTE");
        bNuevoPaciente.setEnabled(false);
        bNuevoPaciente.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bNuevoPacienteActionPerformed(evt);
            }
        });
        bNuevoPaciente.setBounds(140, 170, 150, 23);
        lPaneInfoPaciente.add(bNuevoPaciente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        bAbrirFicha.setText("ABRIR FICHA COMPLETA");
        bAbrirFicha.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bAbrirFichaActionPerformed(evt);
            }
        });
        bAbrirFicha.setBounds(300, 170, 170, 23);
        lPaneInfoPaciente.add(bAbrirFicha, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lPaneInfoPaciente.setBounds(290, 340, 630, 240);
        lPaneClientesPacientes.add(lPaneInfoPaciente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(lPaneClientesPacientes, javax.swing.GroupLayout.DEFAULT_SIZE, 967, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(lPaneClientesPacientes, javax.swing.GroupLayout.DEFAULT_SIZE, 668, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void tFieldFechaAltaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tFieldFechaAltaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_tFieldFechaAltaActionPerformed

    private void bNuevoClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bNuevoClienteActionPerformed
        // TODO add your handling code here:
        limpiarCamposClientes();
        cBoxLocalidad.setSelectedIndex(0);
        cBoxProvincia.setSelectedIndex(0);
        lPacientes.setModel(new DefaultListModel());
        limpiarCamposPacientes();
        cBoxEspecie.setSelectedIndex(0);
        cBoxRaza.setSelectedIndex(0);
        cBoxSexo.setSelectedIndex(0);
        bNuevoPaciente.setEnabled(false);
        bAbrirFicha.setEnabled(false);
        bModificarPaciente.setEnabled(false);
        
        habilitarCamposClientes(true);
        
    }//GEN-LAST:event_bNuevoClienteActionPerformed

    private void bEditarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bEditarClienteActionPerformed
        // TODO add your handling code here:
        habilitarCamposClientes(true);
        editar=true;
    }//GEN-LAST:event_bEditarClienteActionPerformed

    private void bGuardarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bGuardarClienteActionPerformed
        // TODO add your handling code here:
        String nombre= tFieldApellidoNombre.getText();        
        String cp=tFieldCP.getText();        
        String codArea1=tFieldCodigoCel.getText();        
        String codArea2=tFieldCodigoTel.getText();        
        String direccion=tFieldDireccion.getText();        
        String email=tFieldEmail.getText();        
        String celular=tFieldCelular.getText();        
        String tel=tFieldTelefono.getText();
        String fechaalta=tFieldClienteFechaAlta.getText();
        String fechault=tFieldClienteFechaUltima.getText();
        
        int id_localidad=cBoxLocalidad.getSelectedIndex();
        int id_provincia=cBoxProvincia.getSelectedIndex();

        Cliente c= new Cliente();
        c.setCelular(celular);
        c.setCodArea1(codArea1);
        c.setCodArea2(codArea2);
        c.setCp(cp);
        c.setDireccion(direccion);
        c.setEmail(email);
        c.setFechaAlta(fechaalta);
        c.setFechaUltimaVisita(fechault);
        c.setLocalidad(id_localidad);
        c.setNombre(nombre);
        c.setProvincia(id_provincia);
        c.setTelefono(tel);

        ClienteDAOJDBC cDao= new ClienteDAOJDBC();
        try{
            if (editar){
                c.setId(id_cliente);
                cDao.modificar(AdministradorDeConexiones.getConnection(),c);
                editar=false;
            }else{
                cDao.insertar(AdministradorDeConexiones.getConnection(),c);
            }
            JOptionPane.showMessageDialog(this, "Datos guardados", "Guardado", JOptionPane.INFORMATION_MESSAGE);
        }catch(Exception e){
            JOptionPane.showMessageDialog(this, "No se pudieron guardar los datos"+e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }finally{
            try {
                cargarClientes();
            } catch (Exception ex) {
                Logger.getLogger(ClienteFrameN.class.getName()).log(Level.SEVERE, null, ex);
            }
            limpiarCamposClientes();
            habilitarCamposClientes(false);
            lClientes.setSelectedIndex(0);
        }


/*
        if (nuevoCliente){
            c=new Cliente(lClientes.getModel().getSize()+1, nombre, direccion, tel, WIDTH, WIDTH, cp, codArea1, codArea2, celular, email, null, null);
            nuevoCliente=false;
            } else {
                c=new Cliente(lClientes.getSelectedIndex(), nombre, direccion, tel, WIDTH, WIDTH, cp, codArea1, codArea2, celular, email, null, null);
                
                listaClientes.remove(lClientes.getSelectedIndex());
                }
        habilitarCamposClientes(false);
        
        
        listaClientes.addElement(c);
        lClientes.setModel(listaClientes);
        lClientes.setSelectedValue(c, true);
  */
    }//GEN-LAST:event_bGuardarClienteActionPerformed

    private void lClientesValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lClientesValueChanged
        // TODO add your handling code here:
        boolean vacio=false;
        Cliente v=new Cliente();
        v= (Cliente) lClientes.getSelectedValue();
        if (v!=null){
            id_cliente=v.getId();
            cargarCliente(v);
            try {
                cargarPacientes(v.getId());
                bNuevoPaciente.setEnabled(true);
                if (listaPacientes.getSize() > 0){
                    lPacientes.setSelectedIndex(0);
                } else {
                    limpiarCamposPacientes();
                    bModificarPaciente.setEnabled(false);
                }
                tFieldBuscarPaciente.setText("");
            } catch (Exception ex) {
                Logger.getLogger(ClienteFrameN.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        bEditarCliente.setEnabled(true);
        //bEliminarVendedores.setEnabled(true);
        habilitarCamposClientes(false);
    }//GEN-LAST:event_lClientesValueChanged

    private void lClientesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lClientesMouseClicked
        // TODO add your handling code here:
 
            
    }//GEN-LAST:event_lClientesMouseClicked

    private void bAbrirFichaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bAbrirFichaActionPerformed
        // TODO add your handling code here:
        if (HistoriaClinicaN.cerroHistoria){
            HistoriaClinicaN hc=new HistoriaClinicaN();
            JDesktopPane dp= (JDesktopPane)this.getParent();
            dp.add(hc);
            hc.toFront();
            hc.setVisible(true);
            HistoriaClinicaN.cerroHistoria=false;
        }
    }//GEN-LAST:event_bAbrirFichaActionPerformed

    private void formInternalFrameClosed(javax.swing.event.InternalFrameEvent evt) {//GEN-FIRST:event_formInternalFrameClosed
        // TODO add your handling code here:
        cerroCliente=true;
    }//GEN-LAST:event_formInternalFrameClosed

    private void lPacientesValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lPacientesValueChanged
        // TODO add your handling code here:
        Paciente v=new Paciente();
        v= (Paciente) lPacientes.getSelectedValue();
        if (v!=null){
            id_paciente=v.getId();
            cargarPaciente(v);
            
            /** CARGA EL CLIENTE CUANDO ELIJE EL PACIENTE, POR EL BUSCAR PACIENTE **/
            Cliente c=new Cliente();
            Paciente p=(Paciente)lPacientes.getSelectedValue();
            int i=p.getId();
            try {
                c=ClienteDAOJDBC.buscarPorPaciente(AdministradorDeConexiones.getConnection(), i );
            } catch (Exception ex) {
                Logger.getLogger(ClienteFrameN.class.getName()).log(Level.SEVERE, null, ex);
            }

            cargarCliente(c);            
            /***************************************************************/
            
        }
        bModificarPaciente.setEnabled(true);
        //bEliminarVendedores.setEnabled(true);
        habilitarCamposPacientes(false);
    }//GEN-LAST:event_lPacientesValueChanged

    private void lPacientesMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_lPacientesMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_lPacientesMouseClicked

    private void bModificarPacienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bModificarPacienteActionPerformed
        // TODO add your handling code here:
        habilitarCamposPacientes(true);
        editarPaciente=true;
    }//GEN-LAST:event_bModificarPacienteActionPerformed

    private Date convertirFecha(String fecha){
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        try {
            return df.parse(fecha);
        } catch (ParseException ex) {
        }
        return null;
    }



    private void bGuardarPacienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bGuardarPacienteActionPerformed
        // TODO add your handling code here:
        String nombre= tFieldNombre.getText();
        String pelaje=tFieldPelaje.getText();
//        Date fechanac=convertirFecha(tFieldFechaNac.getText());
        String fechanac=tFieldFechaNac.getText();
//        Date fechaalta=convertirFecha(tFieldFechaAlta.getText());
        String fechaalta=tFieldFechaAlta.getText();
//        Date fechault=convertirFecha(tFieldPacienteFechaUlt.getText());
        String fechault=tFieldPacienteFechaUlt.getText();

        String micro=tFieldMicro.getText();
        String edad=tFieldEdad.getText();
        int id_especie=cBoxEspecie.getSelectedIndex();
        int id_sexo=cBoxSexo.getSelectedIndex();
        int id_raza=cBoxRaza.getSelectedIndex();

        /* ESTO ES PARA PASAR DEL ID DEL MODEL AL ID DE LA BD*/
        
        RazasModel aux=(RazasModel)razas;
        int indice=aux.getIndiceBDItem(cBoxRaza.getSelectedIndex());
        id_raza=indice;
        
        /*****************************************************/

        Paciente p= new Paciente();
        p.setEdad(edad);
        p.setFechaAlta(fechaalta);
        p.setFechaNacimiento(fechanac);
        p.setFechaUltimaVisita(fechault);
        p.setIdPropietario(id_cliente);
        p.setMicrochip(micro);
        p.setNombre(nombre);
        p.setPelaje(pelaje);
        p.setRaza(id_raza);
        p.setSexo(id_sexo);
        p.setEspecie(id_especie);
        

        PacienteDAOJDBC cDao= new PacienteDAOJDBC();
        try{
            if (editarPaciente){
                p.setId(id_paciente);
                cDao.modificar(AdministradorDeConexiones.getConnection(),p);
                editarPaciente=false;
            }else{
                cDao.insertar(AdministradorDeConexiones.getConnection(),p);
            }
            JOptionPane.showMessageDialog(this, "Datos guardados", "Guardado", JOptionPane.INFORMATION_MESSAGE);
        }catch(Exception e){
            JOptionPane.showMessageDialog(this, "No se pudieron guardar los datos"+e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }finally{
            try {
                cargarPacientes(id_cliente);
            } catch (Exception ex) {
                Logger.getLogger(ClienteFrameN.class.getName()).log(Level.SEVERE, null, ex);
            }
            lPacientes.setSelectedIndex(0);
            cargarPaciente((Paciente)lPacientes.getSelectedValue());
          //  limpiarCamposPacientes();
            habilitarCamposPacientes(false);
        }

    }//GEN-LAST:event_bGuardarPacienteActionPerformed

    private void bNuevoPacienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bNuevoPacienteActionPerformed
        // TODO add your handling code here:
        limpiarCamposPacientes();
        habilitarCamposPacientes(true);
        editar=false;
    }//GEN-LAST:event_bNuevoPacienteActionPerformed

    private void bBuscarClienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bBuscarClienteActionPerformed
        // TODO add your handling code here:
        String nombre=tFieldBuscarCliente.getText();
        try {
            listaClientes=ClienteDAOJDBC.buscarPorNombre(AdministradorDeConexiones.getConnection(), nombre);
            lClientes.setModel(listaClientes);
            lClientes.setSelectedIndex(0);
        } catch (Exception ex) {
            Logger.getLogger(ClienteFrameN.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        
    }//GEN-LAST:event_bBuscarClienteActionPerformed

    private void tFieldBuscarClienteKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tFieldBuscarClienteKeyPressed
        // TODO add your handling code here:
        contCliente++;
        if ((contCliente==4) || (tFieldBuscarCliente.getText()=="") || (evt.getKeyCode() == KeyEvent.VK_ENTER) ||
            (evt.getKeyCode() == KeyEvent.VK_BACK_SPACE)) {
              bBuscarClienteActionPerformed(null);
              contCliente=0;
          }

    }//GEN-LAST:event_tFieldBuscarClienteKeyPressed

    private void cBoxEspecieItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cBoxEspecieItemStateChanged
        try {
            razas=new RazasModel(cBoxEspecie.getSelectedItem().toString());
  //          razas=new RazasModel();            
            cBoxRaza.setModel(razas);
        } catch (Exception ex) {
            Logger.getLogger(ClienteFrameN.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }//GEN-LAST:event_cBoxEspecieItemStateChanged

    private void cBoxProvinciaItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cBoxProvinciaItemStateChanged
        try {
            // TODO add your handling code here:
            
            localidades= new LocalidadesModel(cBoxProvincia.getSelectedItem().toString());
            cBoxLocalidad.setModel(localidades);
        } catch (Exception ex) {
            Logger.getLogger(ClienteFrameN.class.getName()).log(Level.SEVERE, null, ex);
        }
        
    }//GEN-LAST:event_cBoxProvinciaItemStateChanged

    private void tFieldBuscarPacienteKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_tFieldBuscarPacienteKeyPressed
        // TODO add your handling code here:

        contPaciente++;
        if ((contPaciente==4) || (tFieldBuscarPaciente.getText()=="") || (evt.getKeyCode() == KeyEvent.VK_ENTER) ||
            (evt.getKeyCode() == KeyEvent.VK_BACK_SPACE)) {
              bBuscarPacienteActionPerformed(null);
              contPaciente=0;
          }        
    }//GEN-LAST:event_tFieldBuscarPacienteKeyPressed

    private void bBuscarPacienteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bBuscarPacienteActionPerformed
        // TODO add your handling code here:
        String nombre=tFieldBuscarPaciente.getText();
        try {
            listaPacientes=PacienteDAOJDBC.buscarPorNombre(AdministradorDeConexiones.getConnection(), nombre);
            lPacientes.setModel(listaPacientes);
            lPacientes.setSelectedIndex(0);            
            listaClientes=ClienteDAOJDBC.buscarPorPacientes(AdministradorDeConexiones.getConnection(), nombre);
            lClientes.setModel(listaClientes);
 //           Cliente aux=(Cliente)listaClientes.getElementAt(lPacientes.getSelectedIndex());
            
            
           Cliente c=new Cliente();
           Paciente p=(Paciente)lPacientes.getSelectedValue();
           int i=p.getIdPropietario();
            c=ClienteDAOJDBC.buscarPorPaciente(AdministradorDeConexiones.getConnection(), i );

            cargarCliente(c);
            
        } catch (Exception ex) {
            Logger.getLogger(ClienteFrameN.class.getName()).log(Level.SEVERE, null, ex);
        }
                
        
    }//GEN-LAST:event_bBuscarPacienteActionPerformed

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton bAbrirFicha;
    private javax.swing.JButton bBuscarCliente;
    private javax.swing.JButton bBuscarPaciente;
    private javax.swing.JButton bEditarCliente;
    private javax.swing.JButton bGuardarCliente;
    private javax.swing.JButton bGuardarPaciente;
    private javax.swing.JButton bModificarPaciente;
    private javax.swing.JButton bNuevoCliente;
    private javax.swing.JButton bNuevoPaciente;
    private javax.swing.JComboBox cBoxEspecie;
    private javax.swing.JComboBox cBoxLocalidad;
    private javax.swing.JComboBox cBoxProvincia;
    private javax.swing.JComboBox cBoxRaza;
    private javax.swing.JComboBox cBoxSexo;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel18;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel22;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JList lClientes;
    private javax.swing.JList lPacientes;
    private javax.swing.JLayeredPane lPaneClientes;
    private javax.swing.JLayeredPane lPaneClientesPacientes;
    private javax.swing.JLayeredPane lPaneInfoCliente;
    private javax.swing.JLayeredPane lPaneInfoPaciente;
    private javax.swing.JLayeredPane lPanePacientes;
    private javax.swing.JTextField tFieldApellidoNombre;
    private javax.swing.JTextField tFieldBuscarCliente;
    private javax.swing.JTextField tFieldBuscarPaciente;
    private javax.swing.JTextField tFieldCP;
    private javax.swing.JTextField tFieldCelular;
    private javax.swing.JTextField tFieldClienteFechaAlta;
    private javax.swing.JTextField tFieldClienteFechaUltima;
    private javax.swing.JTextField tFieldCodigoCel;
    private javax.swing.JTextField tFieldCodigoTel;
    private javax.swing.JTextField tFieldDireccion;
    private javax.swing.JTextField tFieldEdad;
    private javax.swing.JTextField tFieldEmail;
    private javax.swing.JTextField tFieldFechaAlta;
    private javax.swing.JTextField tFieldFechaNac;
    private javax.swing.JTextField tFieldIDCliente;
    private javax.swing.JTextField tFieldIDPaciente;
    private javax.swing.JTextField tFieldMicro;
    private javax.swing.JTextField tFieldNombre;
    private javax.swing.JTextField tFieldPacienteFechaUlt;
    private javax.swing.JTextField tFieldPelaje;
    private javax.swing.JTextField tFieldTelefono;
    // End of variables declaration//GEN-END:variables
}
